1. Field of the Invention
The present invention relates to storage and retrieval systems, in particular to application specific rollback in a computer system.
2. Description of the Related Art
Typical storage and retrieval computer systems provide a user with resources to store digital files such as word processing files, email files, etc., and to retrieve the digital files when desired. These digital files of the computer system are commonly backed up to a new location on the computer system itself or even to a completely different and separate storage facility such as a magnetic tape, a different disk drive, etc. Backing up digital files provides an alternate source(s) to access the digital files when the digital files have become corrupted, lost, written over, no longer accessible due to hardware failure, etc.
One common deficiency of the storage and retrieval systems of the prior art is the inability to retrieve data that is modified between backups of the computer system. For example, if a file that is stored on a computer system is backed up at time T1, is modified three times prior to a second backup at time T2, and is then lost in a hard drive failure, the file may only be retrieved as it appeared at times T1 and T2. The first two modifications that occurred between time T1 and T2 are not retrievable.
Many other problems and disadvantages of the prior art will become apparent to one skilled in the art after comparing such prior art with the present invention as described herein.
Various aspects of the present invention may be realized through an application specific rollback system that includes a software application that performs operations requested by a user to generate application specific data. The software application has an application specific rollback module with an index for assisting in locating different states of the application specific data that were generated by the user requests. Also included in the system is a logical view storage that provides an organizational scheme for storage of the application specific data on one of a plurality of storage media, for migration of the application specific data to other ones of the plurality of storage media, for tracking the migration of the application specific data over time, and for maintaining the index of the software application. The application specific rollback module also provides access to a specific version of the application specific data when requested by a user such that the application specific data from a user selected date is accessible.
State changes in the application specific rollback system are defined to occur when various changes to the data happen. For example, when application specific data is migrated, edited, infected by a virus, altered by the virus, etc. The software application may include a scroll bar for scrolling through a list of dates that correspond to state changes in the application specific data. The application specific rollback module may include a function for providing a copy of the specific version of the application specific data that is requested by the user. The copy of the specific version of the application specific data may be saved to a storage media other than where the application specific data of interest is currently stored.
Various aspects of the present invention may also be realized through a method for retrieving information from a computer system. The method involves, not necessarily in this order, generating information with a software application; storing the information through an organizational scheme provided by a logical view storage module such that the information may be migrated through different media devices depending on factors such as access to the information, storage profiles, and file storage history; selecting a specific date and time in the history of the information when the information existed in a state that is desirable to a user; requesting the software application to access the information as the information existed at the specified date and time in the history of the information; and storing the requested information in a new location to begin a new history of the information, the new history beginning with the information as it existed at the specified date and time that was requested by the user.
Selecting a specific date and time in the history of the information may involve scrolling through a list of dates that indicate specific times when the state of the information was changed. The state change, among other things, occurs by migrating the information from one media device to another media device, by editing the information with the software program, by infecting the information with a computer virus, by altering the content of the application specific data with the virus, etc. It should be noted that storing the requested information in a new location may include storing the information at a different media device.
Other aspects of the present invention will become apparent with further reference to the drawings and specification which follow.